package acationtiktokcasemymongo

const (
	ActionComposeClothingChangeLogChangeTypeAdd     = 1 //增加
	ActionComposeClothingChangeLogChangeTypeReduced = 2 //减少

	ActionComposeClothingChangeLogSourceDirectLottery          = 1  //抽奖直接获得
	ActionComposeClothingChangeLogSourceSingleWeekTop          = 2  //个人周榜发放
	ActionComposeClothingChangeLogSourceCoupleWeekTop          = 3  //Cp周榜发放
	ActionComposeClothingChangeLogSourceHistoryOnceClear       = 4  //双人历史排行榜获得
	ActionComposeClothingChangeLogSourceGiftPackageObserve     = 5  // 礼包活动
	ActionComposeClothingChangeLogSourcePrizeDrawCPGift        = 6  // 抽奖CP赠送
	ActionComposeClothingChangeLogSourceGiftPackCPGift         = 7  // 礼包CP赠送
	ActionComposeClothingChangeLogSourceGive                   = 8  // 衣柜赠送
	ActionComposeClothingChangeLogStoreBuy                     = 9  // 商城购买
	ActionComposeClothingChangeLogSourceGiftPackGift           = 10 // 礼包获得
	ActionComposeClothingChangeLogSourceGiftPackTopTitleSingle = 11 // 称号单人榜单
	ActionComposeClothingChangeLogSourceGiftPackTopTitleCp     = 12 // 称号Cp榜单
	ActionComposeClothingChangeLogSourceGiftPackTopCpDay       = 13 // cp日榜
	ActionComposeClothingChangeLogSourceGiftPackTopCpWeek      = 14 // cp周榜
	ActionComposeClothingChangeLogSourceGiftPackTopSingleDay   = 15 // 个人日榜
	ActionComposeClothingChangeLogSourceGiftPackTopSingleWeek  = 16 // 个人周榜
	ActionComposeClothingChangeLogSourceMakeFriend             = 17 // 组成朋友
	ActionComposeClothingChangeLogSourceDelFriend              = 18 // 解散朋友
	ActionComposeClothingChangeLogSourceSign                   = 19 // 签到
	ActionComposeClothingChangeLogSourceAdminReissue           = 30 // 后台补发
	ActionComposeClothingChangeLogSourceBeautyContest          = 31 // 选美
	ActionComposeClothingChangeLogSourceOrderMarry             = 32 // 订婚获得
	ActionComposeClothingChangeLogSourceMarry                  = 33 // 结婚获得
	ActionComposeClothingChangeLogSourceSecretPeople           = 34 // 神秘人获得
	ActionComposeClothingChangeLogSourceLockDay                = 35 // 幸运榜日榜获得
	ActionComposeClothingChangeLogSourceLockWeek               = 36 // 幸运榜周榜获得
)

type ActionComposeClothingChangeLogCases struct {
}

var ActionComposeClothingChangeLogCasesObject ActionComposeClothingChangeLogCases

func (e ActionComposeClothingChangeLogCases) SourceType() []int {
	return []int{
		ActionComposeClothingChangeLogSourceDirectLottery,
		ActionComposeClothingChangeLogSourceSingleWeekTop,
		ActionComposeClothingChangeLogSourceCoupleWeekTop,
		ActionComposeClothingChangeLogSourceHistoryOnceClear,
		ActionComposeClothingChangeLogSourceGiftPackageObserve,
		ActionComposeClothingChangeLogSourcePrizeDrawCPGift,
		ActionComposeClothingChangeLogSourceGiftPackCPGift,
		ActionComposeClothingChangeLogSourceGive,
		ActionComposeClothingChangeLogStoreBuy,
		ActionComposeClothingChangeLogSourceAdminReissue,
		ActionComposeClothingChangeLogSourceBeautyContest,
	}
}

func (e ActionComposeClothingChangeLogCases) SourceMap() map[int]string {
	m := make(map[int]string)
	for _, s := range e.SourceType() {
		m[s] = e.SourceString(s)
	}
	return m
}

func (e ActionComposeClothingChangeLogCases) SourceString(tag int) string {
	switch tag {
	case ActionComposeClothingChangeLogSourceDirectLottery:
		return "抽奖直接获得"
	case ActionComposeClothingChangeLogSourceSingleWeekTop:
		return "个人周榜发放"
	case ActionComposeClothingChangeLogSourceCoupleWeekTop:
		return "Cp周榜发放"
	case ActionComposeClothingChangeLogSourceHistoryOnceClear:
		return "双人历史排行榜获得"
	case ActionComposeClothingChangeLogSourceGiftPackageObserve:
		return "礼包活动"
	case ActionComposeClothingChangeLogSourcePrizeDrawCPGift:
		return "抽奖CP赠送"
	case ActionComposeClothingChangeLogSourceGiftPackCPGift:
		return "礼包CP赠送"
	case ActionComposeClothingChangeLogSourceGive:
		return "衣柜赠送"
	case ActionComposeClothingChangeLogStoreBuy:
		return "商城购买"
	case ActionComposeClothingChangeLogSourceGiftPackGift:
		return "礼包获得"
	case ActionComposeClothingChangeLogSourceGiftPackTopTitleSingle:
		return "称号单人榜单"
	case ActionComposeClothingChangeLogSourceGiftPackTopTitleCp:
		return "称号Cp榜单"
	case ActionComposeClothingChangeLogSourceGiftPackTopCpDay:
		return "cp日榜"
	case ActionComposeClothingChangeLogSourceGiftPackTopCpWeek:
		return "cp周榜"
	case ActionComposeClothingChangeLogSourceGiftPackTopSingleDay:
		return "个人日榜"
	case ActionComposeClothingChangeLogSourceGiftPackTopSingleWeek:
		return "个人周榜"
	case ActionComposeClothingChangeLogSourceMakeFriend:
		return "组成朋友"
	case ActionComposeClothingChangeLogSourceDelFriend:
		return "解散朋友"
	case ActionComposeClothingChangeLogSourceSign:
		return "签到"
	case ActionComposeClothingChangeLogSourceAdminReissue:
		return "签到"
	case ActionComposeClothingChangeLogSourceBeautyContest:
		return "选美"
	default:
		return "其他"
	}
}

func (e ActionComposeClothingChangeLogCases) ChangeType() []int {
	return []int{
		ActionComposeClothingChangeLogChangeTypeAdd,
		ActionComposeClothingChangeLogChangeTypeReduced,
	}
}

func (e ActionComposeClothingChangeLogCases) ChangeTypeMap() map[int]string {
	m := make(map[int]string)
	for _, s := range e.ChangeType() {
		m[s] = e.ChangeTypeString(s)
	}
	return m
}

func (e ActionComposeClothingChangeLogCases) ChangeTypeString(tag int) string {
	switch tag {
	case ActionComposeClothingChangeLogChangeTypeAdd:
		return "增加"
	case ActionComposeClothingChangeLogChangeTypeReduced:
		return "减少"
	default:
		return "其他"
	}
}
